﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Auxiliar;
using Negocio.Evento;
using Persistente;

namespace Finalcountdown.Evento.Editar
{
    public partial class editarEvento : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                carregarDdl();
                if (Request.QueryString["id"] != null)
                {
                    carregarDados();
                }else
                {
                    Response.Redirect("~/Evento/Consultar/consultarEvento.aspx");
                }
            }
        }

        private void carregarDdl()
        {
            var obNStatus = new NStatus();

            //Carregar status
            ddlStatus.DataSource = obNStatus.pegarTodosStatus();
            ddlStatus.DataBind();
            ddlStatus.Items.Insert(0, new ListItem("Selecionar o Status", "0"));
        }

        private void carregarDados()
        {
            var idEvento = Convert.ToInt32(Request.QueryString["id"].ToString());
            var obNEvento = new NEvento();
            obNEvento.pegarEventoPorId(idEvento);

            //Carregando dados
            hdnIdEvento.Value = obNEvento.idEvento.ToString();
            txtNmEvento.Text = obNEvento.nmEvento;
            txtDtEvento.Text = obNEvento.dtEvento.ToShortDateString();
            ddlStatus.SelectedValue = obNEvento.nrStatus.ToString();
        }

        protected void lnk_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Evento/Consultar/consultarEvento.aspx");
        }

        protected void lkbSalvar_Click(object sender, EventArgs e)
        {
            if(verificarForm())
            {
                var obNEvento = new NEvento();
                var obTbEvento = new tb_eventos();
                obTbEvento.id_evento = Convert.ToInt32(hdnIdEvento.Value);
                obTbEvento.nm_evento = txtNmEvento.Text;
                obTbEvento.dt_evento = Convert.ToDateTime(txtDtEvento.Text);
                obTbEvento.nr_status = Convert.ToInt32(ddlStatus.SelectedValue);
                if(obNEvento.Alterar(obTbEvento))
                {
                    divMsnIncluirSucesso.Visible = true;
                    divMsnIncluirAtencao.Visible = false;
                }else
                {
                    divMsnIncluirSucesso.Visible = false;
                    divMsnIncluirAtencao.Visible = true;
                }
            }
        }


        public bool verificarForm()
        {
            var boForm = true;

            if (string.IsNullOrEmpty(txtNmEvento.Text))
            {
                boForm = false;
                lblNmEventoObrigatorio.Text = "Nome do Evento é obrigatório!";
            }
            else
            {
                lblNmEventoObrigatorio.Text = "";
            }
            if (txtDtEvento.Text == "__/__/____")
            {
                boForm = false;
                lblDtEventoObrigatorio.Text = "Data do Evento é obrigatório!";
            }
            else
            {
                lblDtEventoObrigatorio.Text = "";
            }

            if(ddlStatus.SelectedValue == "0")
            {
                boForm = false;
                lblStatusObrigatorio.Text = "Status do Evento é obrigatório!";
            }else
            {
                lblStatusObrigatorio.Text = "";
            }


            return boForm;
        }
    }
}